package com.youmu.sichuansfc.domain;

import javax.persistence.*;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.Objects;

@Entity
@Table(name = "youmu_fund_manager_fund_invest", schema = "youmu", catalog = "")
public class YoumuFundManagerFundInvest {
    private Long id;
    private Timestamp addTime;
    private Double investMoney;
    private Date investTime;
    private String investCraft;
    private Boolean craftSeven;
    private Integer investStage;
    private String investRound;
    private String exitRatio;
    private String exitType;
    private String investCompanyLoc;
    private Boolean isDelete;
    private Long managerFundId;

    @Id
    @Column(name = "id")
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "add_time")
    public Timestamp getAddTime() {
        return addTime;
    }

    public void setAddTime(Timestamp addTime) {
        this.addTime = addTime;
    }

    @Basic
    @Column(name = "invest_money")
    public Double getInvestMoney() {
        return investMoney;
    }

    public void setInvestMoney(Double investMoney) {
        this.investMoney = investMoney;
    }

    @Basic
    @Column(name = "invest_time")
    public Date getInvestTime() {
        return investTime;
    }

    public void setInvestTime(Date investTime) {
        this.investTime = investTime;
    }

    @Basic
    @Column(name = "invest_craft")
    public String getInvestCraft() {
        return investCraft;
    }

    public void setInvestCraft(String investCraft) {
        this.investCraft = investCraft;
    }

    @Basic
    @Column(name = "craft_seven")
    public Boolean getCraftSeven() {
        return craftSeven;
    }

    public void setCraftSeven(Boolean craftSeven) {
        this.craftSeven = craftSeven;
    }

    @Basic
    @Column(name = "invest_stage")
    public Integer getInvestStage() {
        return investStage;
    }

    public void setInvestStage(Integer investStage) {
        this.investStage = investStage;
    }

    @Basic
    @Column(name = "invest_round")
    public String getInvestRound() {
        return investRound;
    }

    public void setInvestRound(String investRound) {
        this.investRound = investRound;
    }

    @Basic
    @Column(name = "exit_ratio")
    public String getExitRatio() {
        return exitRatio;
    }

    public void setExitRatio(String exitRatio) {
        this.exitRatio = exitRatio;
    }

    @Basic
    @Column(name = "exit_type")
    public String getExitType() {
        return exitType;
    }

    public void setExitType(String exitType) {
        this.exitType = exitType;
    }

    @Basic
    @Column(name = "invest_company_loc")
    public String getInvestCompanyLoc() {
        return investCompanyLoc;
    }

    public void setInvestCompanyLoc(String investCompanyLoc) {
        this.investCompanyLoc = investCompanyLoc;
    }

    @Basic
    @Column(name = "is_delete")
    public Boolean getDelete() {
        return isDelete;
    }

    public void setDelete(Boolean delete) {
        isDelete = delete;
    }

    @Basic
    @Column(name = "manager_fund_id")
    public Long getManagerFundId() {
        return managerFundId;
    }

    public void setManagerFundId(Long managerFundId) {
        this.managerFundId = managerFundId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        YoumuFundManagerFundInvest that = (YoumuFundManagerFundInvest) o;
        return id == that.id &&
                Double.compare(that.investMoney, investMoney) == 0 &&
                Objects.equals(addTime, that.addTime) &&
                Objects.equals(investTime, that.investTime) &&
                Objects.equals(investCraft, that.investCraft) &&
                Objects.equals(craftSeven, that.craftSeven) &&
                Objects.equals(investStage, that.investStage) &&
                Objects.equals(investRound, that.investRound) &&
                Objects.equals(exitRatio, that.exitRatio) &&
                Objects.equals(exitType, that.exitType) &&
                Objects.equals(investCompanyLoc, that.investCompanyLoc) &&
                Objects.equals(isDelete, that.isDelete) &&
                Objects.equals(managerFundId, that.managerFundId);
    }

    @Override
    public int hashCode() {

        return Objects.hash(id, addTime, investMoney, investTime, investCraft, craftSeven, investStage, investRound, exitRatio, exitType, investCompanyLoc, isDelete, managerFundId);
    }
}
